دالة FILTER في Excel
دوال البحث والمراجع / دوال المصفوفة الديناميكية
الغرض من الدالة
دالة FILTER هي أداة ديناميكية وقوية لتصفية البيانات. تسمح لك باستخراج صفوف أو أعمدة محددة من نطاق بيانات أكبر بناءً على واحد أو أكثر من الشروط التي تحددها. النتيجة تكون نطاقاً جديداً يحتوي فقط على البيانات التي تطابق معايير التصفية، وهذا النطاق يتحدث تلقائياً إذا تغيرت البيانات الأصلية.
صيغة الدالة (Syntax)
- array: النطاق أو المصفوفة التي ترغب في تصفيتها.
- include: نطاق أو مصفوفة من القيم المنطقية (
TRUEأوFALSE) بنفس حجم الصفوف أو الأعمدة فيarray. تشيرTRUEإلى الصفوف/الأعمدة التي يجب تضمينها في النتيجة، وFALSEإلى تلك التي يجب استبعادها. عادةً ما تكون هذه نتيجة تعبير منطقي (مثلB1:B5="مبيعات"). - [if_empty]: (اختياري) القيمة التي ترغب في إرجاعها إذا لم يتم العثور على أي صفوف أو أعمدة تطابق معايير التصفية. إذا لم يتم تحديدها ولم يتم العثور على تطابقات، ستُرجع الدالة خطأ
#CALC!.
أمثلة عملية
المثال 1: تصفية الموظفين حسب القسم
لدينا قائمة بأسماء الموظفين في العمود A وأقسامهم في العمود B. نريد استخراج جميع الموظفين الذين ينتمون إلى قسم 'المبيعات' فقط.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | أحمد | مبيعات | |||
| 2 | سارة | تسويق | بعد التصفية | ||
| 3 | محمد | مبيعات | أحمد | ||
| 4 | ليلى | موارد بشرية | |||
| 5 | خالد | مبيعات | |||
الصيغة المستخدمة:
=FILTER(A1:B5, B1:B5="مبيعات")
توضيح:
الدالة قامت بتصفية الجدول A1:B5 وأعادت فقط الصفوف التي كان فيها القسم (العمود B) يساوي 'مبيعات'.
المثال 2: تصفية بوجود عدة شروط (AND)
نريد معرفة العاملين في قسم المبيعات والذين تتجاوز أعمارهم 25 عاماً لرفدهم لمهمات حساسة.
| A | B | C | |
|---|---|---|---|
| 1 | الاسم | القسم | العمر |
| 2 | أحمد | مبيعات | 25 |
| 3 | سارة | تسويق | 33 |
| 4 | محمد | مبيعات | 29 |
| 5 | سارة | مبيعات | 28 |
| 6 | |||
| 7 | التصفية | ||
| 8 | محمد | ||
| 9 |
الصيغة المستخدمة:
=FILTER(A2:c5,(B2:B5="مبيعات")*(C2:C5>25),"")
توضيح:
تعمل النجمة * على تصفية كل البيانات في الجدول التي تخضع للشرطين معاً AND. شرط القسم و شرط العمر.
المثال 3: تصفية بوجود عدة شروط (OR)
لدينا قائمة بأسماء الأشخاص في العمود A والمدن التي يعيشون فيها في العمود B. نريد استخراج الأشخاص الذين يعيشون إما في 'دبي' أو 'الشارقة'.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | علي | دبي | التصفية | ||
| 2 | ميس | الفجيرة | علي | ||
| 3 | خالد | الشارقة | |||
| 4 | مريم | دبي | |||
| 5 | يوسف | الفجيرة |
الصيغة المستخدمة:
=FILTER(A1:B5, (B1:B5="دبي")+(B1:B5="الشارقة"))
توضيح:
لدمج شروط 'أو' (OR)، نستخدم علامة الجمع +. أي صف يطابق أياً من الشرطين سيتم تضمينه.
تمرين: اكتب الدالة لتصفية أسماء العاملين بدون الساكنين في دبي. مع ترتيب النتائج أبجديا وفقاً للاسم.
الحل: بالنسبة لاستثناء دبي يمكننا استخدام إشارة لا يساوي في اكسل وهي <>وبالنسبة للترتيب يمكننا استخدام SORT وأن يكون الترتيب وفقاً للعمود الأول. فتكون الدالة على الشكل:=SORT(FILTER(A1:B5, (B1:B5<>"دبي")),1) وتكون النتيجة:
| خالد | الشارقة |
| ميس | الفجيرة |
| يوسف | الفجيرة |